package com.xinsoft.entity.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * 设备表
 */
@Data
public class CusDeviceImportDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 设备编号
     */
    @NotEmpty(message ="设备编号不能为空！")
    @Excel(name="设备编号")
    private String deviceNo;

    /**
     * 设备名称
     */
    @NotEmpty(message ="设备名称不能为空！")
    @Excel(name="设备名称")
    private String deviceName;

    /**
     * 设备类型（字典）device_type
     */
    private Integer deviceType;

    /**
     * 设备类型（字典）device_type
     */
    @NotEmpty(message ="设备类型不能为空！")
    @Excel(name="设备类型")
    private String deviceTypeName;

    /**
     * 设备品牌
     */
    @Excel(name="设备品牌")
    private String brand;

    /**
     * 设备规格型号
     */
    @Excel(name="设备规格型号")
    private String deviceAttr;

    /**
     * 购买日期
     */
    @Excel(name="购买日期")
    private Date buyDate;

    /**
     * 启用日期
     */
    @Excel(name="启用日期")
    private Date useDate;

    /**
     * 使用年限
     */
    @Excel(name="使用年限")
    private Integer serviceYear;

    /**
     * 部门ID
     */
    private Integer deptId;

    /**
     * 部门ID
     */
    @Excel(name="部门")
    private String deptName;

    /**
     * 负责人ID
     */
    private Integer userId;

    /**
     * 负责人名称
     */
    @NotEmpty(message ="负责人不能为空！")
    @Excel(name="负责人")
    private String userName;

    /**
     * 使用状况（字典）device_status
     */
    private Integer useStatus;

    /**
     * 使用状况（字典）device_status
     */
    @NotEmpty(message ="使用状况不能为空！")
    @Excel(name="使用状况")
    private String useStatusName;

    /**
     * 设备用途（字典）device_purpose
     */
    private Integer deviceUse;

    /**
     * 设备用途（字典）device_purpose
     */
    @Excel(name="设备用途")
    private String deviceUseName;

    /**
     * 设备来源（字典） device_source
     */
    private Integer deviceSouce;

    /**
     * 设备来源（字典） device_source
     */
    @NotEmpty(message ="设备来源不能为空！")
    @Excel(name="设备来源")
    private String deviceSouceName;

    /**
     * 安装地点
     */
    @Excel(name="安装地点")
    private String deviceLocation;

    /**
     * 设备备注
     */
    @Excel(name="设备备注")
    private String deviceDesc;

    /**
     * 生产商
     */
    private Integer factoryId;

    /**
     * 生产商名称
     */
    @Excel(name="生产商")
    private String factoryIdName;

    /**
     * 生产商地址
     */
    private String factoryAddress;

    /**
     * 生产商联系人名称
     */
    private String factoryLinkmanName;

    /**
     * 生产商联系人电话
     */
    private String factoryLinkmanPhone;

    /**
     * 供应商
     */
    private Integer supplierId;

    /**
     * 供应商名称
     */
    @Excel(name="供应商")
    private String supplierName;

    /**
     * 供应商地址
     */
    private String supplierAddress;

    /**
     * 供应商联系人名称
     */
    private String supplierLinkmanName;

    /**
     * 供应商联系人电话
     */
    private String supplierLinkmanPhone;

    /**
     * 服务商
     */
    private Integer serviceId;

    /**
     * 服务商名称
     */
    @Excel(name="服务商")
    private String serviceName;

    /**
     *  服务商地址
     */
    private String serviceAddress;

    /**
     *  服务商联系人名称
     */
    private String serviceLinkmanName;

    /**
     *  服务商联系人电话
     */
    private String serviceLinkmanPhone;

    /**
     * 维修责任人
     */
    private Integer repaireUserId;

    /**
     * 维修责任人名称
     */
    @NotEmpty(message ="维修责任人不能为空！")
    @Excel(name="维修责任人")
    private String repaireUserName;

    /**
     * 是否联网 0:否，1:是
     */
    private Integer doNetTouch;

    /**
     * 是否联网 0:否，1:是
     */
    @Excel(name="是否联网")
    private String doNetTouchName;

    /**
     * 设备参数
     */
    @Excel(name="设备参数")
    private String deviceCoefficient;

    /**
     * 保修到期日期
     */
    @Excel(name="保修到期日期")
    private Date warrantyEnd;

}